Procesando datos con {tidyverse}

Principales herramientas (funciones) para el tratamiento de datos

2024-02-21

Bienvenidos y bienvenidas a Estación R

💬 Slack

🔗 Web

🐘 Mastodon

𝕏 X

✉️ Correo

¿Qué vimos?


✅ Conceptos básicos de R (valores, vectores, data.framtes, funciones, objetos)


✅ Cómo armar y organizar un proyecto de trabajo


✅ Qué son los paquetes (o librerías)

Hoja de Ruta

📌 ¿Qué es la Ciencia de Datos?


📦 Paquete {dplyr}

🔧 `select()` 🔧 `filter()` 

🔧 `mutate()` 🔧 `rename()` 

🔧 `arrange()` 

🔧 `group_by()` 🔧 `summarise()`  

🔧 `joins` 

📌 La pipa (|> o %>%)


📦 Paquete {tidyr}

🔧 `pivot_longer()` 🔧 `pivot_wider()`  

¿Qué es la Ciencia de Datos?

¿Qué es la Ciencia de Datos?

r project console

{tidyverse}

¿Qué es {tidyverse}?

  • Una colección de paquetes.

  • Comparten una filosofía acerca de los datos y la programación en R (“tidy” -ordenado-).

  • Tienen una coherencia para ser utilizados en conjunto.

  • Orientado a ser leído y escrito por y para seres humanos.

  • Una comunidad, basada en los principios del código abierto y trabajo colaborativo.

¿Qué es {tidyverse}?

{tidyverse}

  • Instalación:
install.packages("tidyverse")


  • Cargo el paquete:
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.0
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

{tidyverse}

  • Nos evita tener que instalar uno por uno cada paquete:
install.packages("dplyr")
install.packages("tidyr")
install.packages("ggplot2")


  • Como también tener que convocarlos te a uno:
library(dplyr)
library(tidyr)
library(ggplot2)

Un operador llamado pipa



base_de_datos |> 
  funcion1 |> 
  funcion2 |>  
  funcion3

Un operador llamado pipa


  • Pipa de R base: |>


  • Pipa de {magritr}: %>%

Ejemplo:



datos <- data.frame(nombre = c("Pirulanzo", "Rodogovia", "Rodogovia", "Rodogovia"),
                    edad = c(23, 12, 87, 32))

datos
     nombre edad
1 Pirulanzo   23
2 Rodogovia   12
3 Rodogovia   87
4 Rodogovia   32

Ejemplo:

  • Quiero calcular qué proporción de personas se llaman Rodogovia


  • Antes (sin el pipe):
round(prop.table(table(datos$nombre)), digits = 1)

Pirulanzo Rodogovia 
      0.2       0.8 

Ejemplo:


  • Después (con el pipe):
datos$nombre |> 
  table() |> 
  prop.table() |> 
  round(digits = 1)

Pirulanzo Rodogovia 
      0.2       0.8 

Funciones del paquete dplyr:


Función Acción
select() selecciona o descarta variables
filter() selecciona filas
mutate() crea / edita variables
rename() renombra variables
group_by() segmenta en funcion de una variable
summarize() genera una tabla de resúmen

select()


Elije o descarta columnas de una base de datos

La función tiene el siguiente esquema:


base_de_datos |> 
  select(id, nombre)